Skip to main content
Version: 2.0

Retrieve Flow Details

Retrieving Flow Details:

This request will return a single Flow's details. By default, it will return the fields: id, name, status, categories, validation_errors. You can request other fields by using the fields parameter in the request. The request example below includes all possible fields.

Request Type: GET

Sample Request

curl '{BASE-URL}/{FLOW-ID}?fields=id,name,categories,preview,status,validation_errors,json_version,data_api_version,endpoint_uri,whatsapp_business_account,application,health_status' \
--header 'Authorization: Bearer {ACCESS-TOKEN}'

Sample Response

{
"id": "<Flow-ID>",
"name": "<Flow-Name>",
"status": "DRAFT",
"categories": [ "LEAD_GENERATION" ],
"validation_errors": [],
"json_version": "5.0",
"data_api_version": "3.0",
"endpoint_uri": "https://example.com",
"preview": {
"preview_url": "https://business.facebook.com/wa/manage/flows/55000..../preview/?token=b9d6.....",
"expires_at": "2025-06-12T12:10:24+0000"
},
"whatsapp_business_account": {
...
},
"application": {
...
},
"health_status": {
"can_send_message": "BLOCKED",
"entities": [
{
"entity_type": "FLOW",
"id": "<Flow-ID>",
"can_send_message": "BLOCKED",
"errors": [
{
"error_code": 131000,
"error_description": "endpoint_uri: You need to set the endpoint URI before you can send or publish a flow.",
"possible_solution": "https://developers.facebook.com/docs/whatsapp/flows/reference/flowjson#top-level-flow-json-properties"
},
{
"error_code": 131000,
"error_description": "app_check: You need to connect a Meta app to the flow before you can send or publish it.",
"possible_solution": "https://developers.facebook.com/docs/development/create-an-app"
}
]
},
{
"entity_type": "WABA",
"id": "<WABA-ID>",
"can_send_message": "AVAILABLE"
},
{
"entity_type": "BUSINESS",
"id": "<Business-ID>",
"can_send_message": "AVAILABLE"
},
{
"entity_type": "APP",
"id": "<App-ID>",
"can_send_message": "LIMITED",
"additional_info": [
"Your app is not subscribed to the message webhook. This means you will not receive any messages sent to your phone number."
]
}
]
}
}
FieldDescriptionJSON TypeReturned by default
idThe unique ID of the Flow.string
nameThe user-defined name of the Flow which is not visible to users.string
statusDRAFT: This is the initial status. The Flow is still under development. The Flow can only be sent with "mode": "draft" for testing.

PUBLISHED: The Flow has been marked as published by the developer, so it can now be sent to customers. This Flow can not be deleted or updated afterwards.

DEPRECATED: The developer has marked the flow as deprecated (since it can not be deleted after publishing). This prevents sending and opening the Flow, allowing the developer to retire their endpoint. Deprecated Flows can not be deleted or undeprecated.

BLOCKED: Monitoring detected that the endpoint is unhealthy and set the status to Blocked. The Flow can not be sent or opened in this state. the developer needs to fix the endpoint to return it to the Published state.

THROTTLED: Monitoring detected that the endpoint is unhealthy and set the status to Throttled. Flows with throttled status can be opened, however only 10 messages of the Flow can be sent per hour. The developer needs to fix the endpoint to return it to the PUBLISHED state.
string
categoriesA list of flow categories.array
validation_errorsA list of errors in the Flow.

All errors must be fixed before the Flow can be published.
array
json_versionThe version specified by the developer in the Flow JSON asset uploaded.string
data_api_versionThe version of the Data API specified by the developer in the Flow JSON asset uploaded. Only for Flows with an endpoint.string
data_channel_uri[DEPRECATED in API v19.0 ] Use endpoint_uri field instead.

The URL of the WA Flow Endpoint specified by the developer via API or in the Builder UI.
string
endpoint_uriThe URL of the WA Flow Endpoint specified by the developer via API or in the Builder UI.string
previewThe URL to the web preview page to visualize the flow and its expiry time.object
whatsapp_business_accountThe WhatsApp Business Account which owns the Flow.object
applicationThe Facebook developer application used to initially create the Flow.object
health_statusA summary of the Flow's health status.

When you attempt to send a Flow, multiple nodes are involved, including the app, the business portfolio that owns or has claimed it, a WABA and Flow.

Each of these nodes can have one of the following health statuses assigned to the can_send_message property:

-AVAILABLE: Indicates that the node meets all requirements.
-LIMITED: Indicates that the node meets requirements, but has some limitations. If a given node has this value, additional information will be included.
-BLOCKED: Indicates that the node does not meet one or more messaging requirements. If a given node has this value, the errors property will be included which describes the error and a possible solution.

Flow node

The Flow node will have the can_send_message property set to:

-LIMITED: If published Flow is in THROTTLED state.
-BLOCKED: If the unpublished Flow has one of the the publishing checks failing, or If the published Flow is in BLOCKED or DEPRECATED state.
object

Retrieving a Flow's List of Assets:

This request returns all assets attached to a specified Flow.

Request Type: GET

Sample Request

curl '{BASE-URL}/{FLOW-ID}/assets' \
--header 'Authorization: Bearer {ACCESS-TOKEN}'

Sample Response

{
"data": [
{
"name": "flow.json",
"asset_type": "FLOW_JSON",
"download_url": "https://scontent.xx.fbcdn.net/m1/v/t0.57323-24/An_Hq0jnfJ..."
}
],
"paging": {
"cursors": {
"before": "QVFIU...",
"after": "QVFIU..."
}
}
}